Enterprise content management (ECM) refers to the technologies used to capture, store, preserve and deliver content and documents and content related to organizational processes. ECM tools and strategies allow the management of an organization's unstructured information, wherever that information exists. A subset of ECM is a content management system (CMS), which is computer software used to create, edit, manage, and publish content in a consistently organized fashion. CMSs are frequently used for storing, controlling, versioning, and publishing industry-specific documentation such as news articles, operators' manuals, technical manuals, sales guides, and marketing brochures. The content managed may include computer files, image media, audio files, electronic documents, and Web content. Another type of ECM is a document management system (DMS), which is a computer system (or set of computer programs) used to track and store electronic documents and/or images of paper documents. The term has some overlap with the concepts of Content Management Systems and is often viewed as a component of Enterprise Content Management Systems and related to Digital Asset Management, Document imaging, Workflow systems, and Records Management systems.
Current ECM systems are implemented as either client/server or peer-to-peer (P2P) applications. An example of a client/server ECM system is Microsoft SharePoint, a web-based collaboration and document management platform from Microsoft. Microsoft SharePoint can be used to host web sites that access shared workspaces and documents, as well as specialized applications like wikis and blogs from a browser. Microsoft SharePoint offers base collaborative infrastructure supporting HTTP- and HTTPS-based editing of documents, as well as document organization in document libraries, version control capabilities, wikis, and blogs. It also includes end-user functionality such as workflows, to-do lists, alerts and discussion boards, which are exposed as web parts to be embedded into SharePoint pages. Clients access a client/server ECM system using simple client software such as a browser. The server tracks documents checked out by each client and changes made to documents using versioning.
P2P ECM systems do not use a server, but instead exchange changes to documents between client peers. An example is Microsoft Office Groove, an application targeted at teams with members who are usually off-line or who do not share the same network security clearance. Groove is desktop software designed for the collaboration and communication of the members of small groups. A set of files to be shared plus some aids for group collaboration are placed in a shared workspace that a user can invite other users to join. By responding to an invitation, the invitee becomes an active member of the workspace and is sent a copy of the workspace that is installed on their hard disk drive. Data is encrypted both on disk as well as over the network, with each workspace having a unique set of cryptographic keys. Members interact and collaborate in the workspace, which is a private virtual location. Changes being made are tracked by Groove and all the copies are synchronized via the network in a P2P manner. When conflicts occur, users designated as editors inspect the conflicting changes and make an official change to the workspace that is distributed to members.
As various ECM systems gain popularity, documents can be simultaneously managed by more than one system. For example, a document shared using a client/server system such as Microsoft SharePoint may also be part of a P2P system such as Microsoft Office Groove. When a user makes a change, each of the systems synchronizes the changes to other users of the system. This can lead to unnecessary synchronization where one system appears to another system to have modified a document, even though no change occurs to the document content. For example, User A may make a change to the document, and then synchronize the change to the server of a client/server system. User A may then synchronize the change to User B using a P2P system. If User B is also a member of the client/server system, User B then attempts to synchronize the change to the server. The final change submitted by User B is redundant because User A has already sent the change to the server. However, the server typically has no way of knowing that the change is not new. The final change also appears to the server to conflict with User A's change, since the change is to the same document. Thus, extra synchronization can occur and the server or P2P system may invoke conflict resolution procedures for false conflicts that waste an editor's time.